
# 列表
"""
1. 概念 ：是一个可以存放不同数据类型的序列，存放的数据是顺序的 ，存放在里面的元素是可以修改的 。
2. 定义(创建)：
    变量名 = [] or list()
    变量名 = [obj1,obj2]
3. 说明：
    (1). 存放在列表里的元素是有顺序的 ，可以通过下标(索引)获取列表中的元素
    (2). 列表中可以存放任意的数据类型 ，没有长度限制。
    (3). 列表中的元素可以进行增、删、修改、查询
    (4). 因列表中的元素是可以被修改的，也叫可变化对象 。
"""

# 1. 列表的定义
alst = []
blst = list()
clst = ['hello world',2,3.2,True]
print(alst)
print(blst)
print(clst)

# 2.1 获取其中一个元素 ，通过索引lst[index]
print("通过索引获取第3个元素:",clst[2])       # 若超过了列表的长度 ，会报IndexError: list index out of range

# 2.2 使用循环进行查询元素
for x in clst:
    print(x)

# 3. 修改 ，通过索引修改 ，
clst[2] = 8.2
print(clst)

# 4. 列表支持的方法
"""
list.index(obj)         : 从列表中找出某个元素的位置
list.count(obj)         : 从列表中查找出某个元素出现的次数          
list.insert(index,obj)  : 往列表中某个位置插入一个元素            **
list.append(obj)        : 向列表中插入一个元素                **
list.extend(seq)        : 向该俩表中插入另外一个序列中的数          **
list.pop(index)              : 删除对应索引的元素，若不传，就删除最后一个        **
list.clear()            : 删除所有元素
list.remove(obj)        : 删除列表中的某个元素
list.reverse()          : 列表翻转                          **
list.sort()             ：列表排序                           **
list.copy()             : 列表的拷贝
"""
print("============================")
dlst = ['java','c','c++','go','php','ruby','python','go']
print("查找Python所在的位置:",dlst.index('python'))
print("查找go在列表中出现的次数:",dlst.count('go'))

print("向列表的第2个位置插入node")
dlst.insert(1,'node')
print(dlst)

print("向列表中插入一个元素,javascript")
dlst.append('javascript')
print(dlst)

print("向dlst中插入clst的元素")
dlst.extend(clst)
print(dlst)
